package tp.pr5.mv;

public enum Opcode {
	
	ADD    (0),      // Lista de "opcodes" con sus respectivos parámetros indicando el número de argumentos.
	DIV    (0), 
	DUP    (0), 
	FLIP   (0), 
	HALT   (0), 
	LOAD   (1), 
	MUL    (0), 
	OUT    (0), 
	POP    (0), 
	PUSH   (1), 
	STORE  (1), 
	SUB    (0), 
	UNKNOWN(0),
	
	AND    (0),
	OR     (0),
	NOT    (0),
	LT     (0),
	GT     (0),
	EQ     (0),
	LE     (0),
	BE     (0),
	NEG    (0),
	JUMP   (1),
	BF     (1),
	BT     (1),
	RJUMP  (1),
	RBF    (1),
	RBT    (1),
	JUMPIND  (0),
	LOADIND  (0),
	STOREIND (0),
	IN     (0);

	
	
	
	private int numArgs;
		
	private Opcode ( int n ) {       // Constructor privado de los "opcodes".
		
		this.numArgs = n;
	}
	
	public int getNumArgs () {       // Get de los argumentos de un "opcode".
		
		return this.numArgs;
	}
		
		
}
	
	
	
